home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / nilnull / runback / runback.c < prev    next >
C/C++ Source or Header  |  1999-04-19  |  1KB  |  63 lines

  1. /*
  2. **      $VER: runback.c 1.0 (4.4.99)
  3. **
  4. **      RunBack replacement
  5. **
  6. **      (C) 1999 by Andreas R. Kleinert
  7. **      All rights reserved.
  8. */
  9.  
  10. #define __USE_SYSBASE
  11.  
  12. #include <exec/types.h>
  13.  
  14. #include <dos/dos.h>
  15. #include <dos/dostags.h>
  16.  
  17. #include <proto/exec.h>
  18. #include <proto/dos.h>
  19.  
  20. #include <stdio.h>
  21. #include <stdlib.h>
  22. #include <string.h>
  23.  
  24. UBYTE __aligned version[] = "\0$VER: RunBack 1.0 (4.4.99)";
  25.  
  26. int main(int argc, char **argv)
  27. {
  28.  ULONG retval = 0;
  29.  ULONG i;
  30.  struct TagItem tags[4];
  31.  UBYTE args[256];
  32.  
  33.  if(!argc) return(retval); /* Workbench */
  34.  
  35.  args[0] = (UBYTE) 0;
  36.  
  37.  for(i=1; i<argc; i++)
  38.   {
  39.    strcat(args, "\42");
  40.    strcat(args, argv[i]);
  41.    strcat(args, "\42 ");
  42.   }
  43.  
  44.  args[strlen(args)-1] = (UBYTE) 0;
  45.  
  46.  tags[0].ti_Tag  = NP_StackSize;
  47.  tags[0].ti_Data = 32768;
  48.  
  49.  tags[1].ti_Tag  = NP_Input;
  50.  tags[1].ti_Data = Open("NULL:", MODE_NEWFILE);
  51.  
  52.  tags[2].ti_Tag  = NP_Output;
  53.  tags[2].ti_Data = Open("NULL:", MODE_OLDFILE);
  54.  
  55.  tags[3].ti_Tag  = TAG_DONE;
  56.  tags[3].ti_Data = NULL;
  57.  
  58.  retval = SystemTagList(args, &tags[0]);
  59.  if(retval == -1) retval = 20;
  60.  
  61.  exit(retval);
  62. }
  63.